【レポート】AWS Summit Tokyo 2017:Amazon Innovation Dive Deep Session 2 ~Alexa~ #AWSSummit
2017年05月30日(火)〜2017年06月02日(金)の計4日間に渡り、グランドプリンスホテル新高輪 品川プリンスホテル アネックスタワーで行われている『AWS Summit Tokyo 2017』。
当エントリでは2017年05月31日に行われた『Amazon Innovation Dive Deep Session 2 ~Alexa~』に関する内容をレポートしたいと思います。
セッション概要
当セッションの登壇者及び概要は以下の通り。
Jeff Blankenburg氏 Alexa Evangelist, Alexa Amazon.com
セッション概要:
Amazon の Alexa Voice Service の音声技術を使った音声アプリケーションの構築を見ていきましょう。
双方向性のある音声会話やボイススキルの構築についての取り扱い方をご紹介します。
セッションレポート
VUIの組み立て方
- THE PLAN: データから始めるのではなく、ボイスエクスペリエンスから始める。
- どうやったらユーザは自分たちの望む形で情報を求めるのか。それをきめたら開発に入る
- 開発が終わったらテストと認証を行う
- Skill Storeに入れると一般に公開されてしまう。テストで確認する
- テスト環境であればプライベートで使うこともできる
発声
- スキルにどうやって声をかけるか
- 天気の聞き方は様々だがIntent(意思)として天気情報の取得というコードを実行する
- ユーザーが言いそうなことを定義する。それぞれがスキルに結びついている
意思
- 意思とはユーザーが実際に起こす行動のこと
- Intentの構造
- Built-In Intent: Stop, StartOver, Cancel, Helpは必要なので入れる。Helpで情報を与え、Stopで処理を停止する
話す vs 聞く
- tell(話す)。「Alexa, 今日の天気は?」: 言葉に出すことと会話終了させること。Alexaは質問していない。
this.emit(":tell", speechoutput); this.emit(":tell", "使ってくれてありがとう、じゃあね!");
- Ask(聞く)。「Alexa、東京へのフライトを予約して」「何日のフライトですか?」: 途中で会話を終わらせて相手の反応を待つ
- Alexaは8秒回答を待つ
this.emit(":ask", speechOutput, repromptSpeech); this.emit(":ask", "どんなタイプのピザを注文する?", "種類は?");
カード
- ユーザに視覚的なカードを見せることも可能
- 聞いている音楽の情報、クイズの視覚化等、ユーザに対して視覚情報を与える
話す vs 聞く with カード
this.emit(":tellWithCard", speechOutput, cardTitle, cardContent, imagePath); this.emit(':askWithCard', outputText, repromtMessage, cardTitle, cardContent, imageObj);
Slot
- 発生によって特定のユーザーの嗜好をつかむにはSlotが変化しやすい
- 「行き先」のスロットであれば市の名前が入る。開発者は全ての値を入れなくてもよい。AIと機械学習を使って用意してある。Alexaは「都市」の名前を聞けばこれが「都市」である、と理解できる。”東京”と言えばどの空港にするかを聞き返すことができる。ひとつしか空港がない小さな町であればその質問はスキップする
- Built-In Slotが数百既に用意されているのでそれを使うと学習済みのデータが使える。都市名、空港名、バンド、音楽、アルバム、天気などはもう用意されている。
- 異なるCityListが環境によって用意されている。[US City]はアメリカの都市、[EU City]はEUの都市ではない。アメリカに住んでいる人、EUが住んでいる人が「言いそうな都市名」が入っている
- 色のリストがあったとして「貴方の好きな色はなんですか?」と聞いた時にSlotの中に七色しか入っていなくてもAlexaは答えられた「ラベンダー」が色だと判断する。
- US_STATE_ABBR(州の略称)は前はなかった。ユーザーニーズにより増えていく。
表意の管理(State management)
- 同じ言葉だが2つの意図がある場合がある。
- 「クイズを初めますか?」「はい」「これは◯◯州ですか?」「はい」: ユーザーの反応は同じだがリアクションは変える必要がある。
- handlerによってIntentを分けて管理する。ユーザーがSkillを初めたときだけ有効化するIntentを作る。
VUI
- 正しい作り方と誤った作り方がある
- フレーム
- 強制配列
- 柔軟性がない
- チャート
- いつでもどこでも
- 相互に適応
- ユーザによって主導されるプロセス
まとめ
- システムは壊れていくケースが多い
- 接客パターンは学んだのでいちいち変える必要はない。
- スキルを構築する時はAlexaのレッスンとして覚える
- ユーザーが自由に動けるとアプリは愛される
- ピザのデリバリーはアメリカにたくさんある
- アプリによってはとてもいいものがある。そうでもないものもある。
- 「いいアプリであること」は味より重視される
まとめ
Alexa,VUIについてはじめて触れる人にはとても役に立つセッションでした。概念からコード例まで幅広く押さえていて、スキルを開発するモチベーションも上がったのではないでしょうか。Alexaの開発をしている立場から言うと、特に「VUI」のお話はためになるものでした。